<html>
<head>
    <script src="../libraries/RGraph.common.core.js" ></script>
    <script src="../libraries/RGraph.line.js" ></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <!--[if lt IE 9]><script src="../excanvas/excanvas.js"></script><![endif]-->
    
    <title>A different colored line above/below a threshold</title>
    
    <link rel="stylesheet" href="demos.css" type="text/css" media="screen" />
    
    
    <meta name="description" content="A regular Line chart that has been drawn in two passes so that it can be a different color above and below a particular threshold" />
     
</head>
<body>

    <h1>A different colored line above/below a threshold</h1>
    
    <p>
        By using the clip() function the Line chart can be drawn in two passes so as to color it differently.
    </p>

    <canvas id="cvs" width="600" height="250">[No canvas support]</canvas>


    <script>
        $(document).ready(function ()
        {
            var data = [14,16,18,19,29,28,29,35,34,38,41,45,56,58,65];
            var threshold = 40;
            var color1 = 'red';
            var color2 = 'green'




            /**
            * First draw a chart that will enable us to get the Y coordinate. This chart is not shown
            */
            var line = new RGraph.Line({
                id: 'cvs',
                data: data,
                options: {
                    gutter: {
                        top: 5,
                        bottom: 45
                    },
                    linewidth: 3,
                    tickmarks: 'endcircle',
                    hmargin: 10,
                    colors: [color1]
                }
            }).draw()



            /**
            * Now get the Y coord
            */
            var y = line.getYCoord(threshold);




            /**
            * Clear the canvas
            */
            RGraph.Clear(line.canvas);




            /**
            * Now draw the chart that will become the red half
            */
            line.context.save();
                line.context.beginPath();
                line.context.rect(0,0,line.canvas.width, y);
                line.context.clip();

                // Draw the line again
                line.Draw();

            line.context.restore();




            /**
            * Now draw the chart that will become the green half
            */
            line.context.save();
                line.context.beginPath();
                line.context.rect(0,y,line.canvas.width, line.canvas.height);
                line.context.clip();

                var line = new RGraph.Line({
                    id: 'cvs',
                    data: data,
                    options: {
                        gutter: {
                            top: 5,
                            bottom: 45
                        },
                        colors: [color2],
                        linewidth: 3,
                        tickmarks: 'endcircle',
                        hmargin: 10,
                        labels: ['Alf','Bert','Charlie','Dave','Edgar','Fliss','Gary','Hoolio','Indigo','Jack','Kevin','Lou','Martha','Neil','Olga']
                    }
                }).draw()
                

            line.context.restore();
        })
    </script>

    <p>
        <a href="./">&laquo; Back</a>
    </p>

</body>
</html>

